PIN Block Format 41 is the Visa format for PIN change without using the current PIN. The method for constructing the PIN block is defined in section C.11.2 of reference 4.
The PIN Block is created using the new PIN and part of the card’s unique DEA Key as follows:
1. Construct a 16 hexadecimal digit block of data, by extracting the eight rightmost digits of the card application’s Unique DEA Key A (UDK-A) and zero filling it on the left with eight hexadecimal zeros:
|
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
|
|
|
|
|
|
|
|
|
|
←8 Rightmost digits of card app’s unique DEA key A→ |
||||||||||||||
Note: HSM terminology for UDK-A is *DK-AC. This is the card-unique key derived from *MK-AC, the Master Key for Application Cryptograms.
2. Create a second 16 hexadecimal digit block of data as follows:
|
C |
N |
P |
P |
P |
P |
P/F |
P/F |
P/F |
P/F |
P/F |
P/F |
P/F |
P/F |
F |
F |
Where:
C is a fixed control field of binary value 0000 (hex 0).
N is the length of the new PIN and can be any binary value from 0100 to 1100 (hex 4 to hex C).
P is a digit of the new PIN and can be any binary value from 0000 to 1001 (hex 0 to hex 9).
P/F is either a PIN digit or the binary 1111 (hex F) filler depending on the length of the PIN.
F is filler of binary value 1111 (hex F).
3. Perform an exclusive-OR operation on the blocks of data created in steps 1 and 2.